package com.buka.canal.listener;

import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.otter.canal.protocol.CanalEntry;
import com.buka.server.pojo.Ad;
import com.xpand.starter.canal.annotation.CanalEventListener;
import com.xpand.starter.canal.annotation.ListenPoint;

import java.util.List;
import java.util.Map;

@CanalEventListener //声明当前的类是canal的监听类
public class AdListener {
    private final String loadurl ="http://192.168.232.102/ad_load";
    private final String readurl = "http://192.168.232.102/ad_read";

    /**
     * @param eventType 当前操作数据库的类型
     * @param rowData   当前操作数据库的数据
     */
    @ListenPoint(schema = "itbuka_ad", table = "tb_ad")
    public void adUpdate(CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
        System.out.println("广告表数据发生改变");
//        //获取改变之前的数据
//        rowData.getBeforeColumnsList().forEach((c) -> System.out.println("改变前的数据:" + c.getName() + "::" + c.getValue()));
//
//        //获取改变之后的数据
//        rowData.getAfterColumnsList().forEach((c) -> System.out.println("改变之后的数据:" + c.getName() + "::" + c.getValue()));
//
//        List<Ad> list=
        String s = HttpUtil.get(loadurl);
        Map map = JSONObject.parseObject(s,Map.class);
        Boolean b = (boolean)map.get("flag");
        System.out.println(b);
        List<Ad> list = JSONObject.parseObject(HttpUtil.get(readurl),List.class);
        System.out.println(list);

    }
}